# 加减乘除
a = 10
b = 3
print(f"{a} + {b} = {a + b}")  # 输出：10 + 3 = 13
print(f"{a} - {b} = {a - b}")  # 输出：10 - 3 = 7
print(f"{a} * {b} = {a * b}")  # 输出：10 * 3 = 30
print(f"{a} / {b} = {a / b:.2f}")  # 输出：10 / 3 = 3.33（保留2位小数）

# 特殊运算符
print(f"{a} 的 {b} 次方 = {a ** b}")  # 输出：10 的 3 次方 = 1000
print(f"{a} 除以 {b} 的余数 = {a % b}")  # 输出：10 除以 3 的余数 = 1
print(f"{a} 除以 {b} 取整数 = {a // b}")  # 输出：10 除以 3 取整数 = 3

x = 5
y = 8

print(f"{x} > {y} 吗？ {x > y}")  # 输出：5 > 8 吗？ False
print(f"{x} == {y} 吗？ {x == y}")  # 输出：5 == 8 吗？ False
print(f"{x} != {y} 吗？ {x != y}")  # 输出：5 != 8 吗？ True

# 实际应用：密码验证
password = "abc123"
user_input = input("请输入密码：")
print("密码正确！" if user_input == password else "密码错误！")

# and（与）：所有条件为True才返回True
age = 18
has_license = True
print(f"可以开车吗？ {age >= 18 and has_license}")  # 输出：可以开车吗？ True


# or（或）：任意条件为True即返回True
is_weekend = False
is_holiday = True
print(f"今天休息吗？ {is_weekend or is_holiday}")  # 输出：今天休息吗？ True

# not（非）：取反
is_raining = False
print(f"需要带伞吗？ {not is_raining}")  # 输出：需要带伞吗？ True

num1 = float(input("请输入第一个数字："))
num2 = float(input("请输入第二个数字："))
operator = input("请输入运算符(+-*/)：")

if operator == "+":
    print(f"结果：{num1 + num2}")
elif operator == "-":
    print(f"结果：{num1 - num2}")
elif operator == "*":
    print(f"结果：{num1 * num2}")
elif operator == "/":
    print(f"结果：{num1 / num2 if num2 != 0 else '错误：除数不能为0'}")
else:
    print("无效运算符")



# 用输入控制生成规则
length = int(input("密码长度："))
use_special = input("使用特殊字符?(y/n)：").lower() == 'y'

import random
chars = "abcdefghijklmnopqrstuvwxyz0123456789"
if use_special:
    chars += "!@#$%^&*"

password = ''.join(random.choice(chars) for _ in range(length))
print(f"生成密码：\033[32m{password}\033[0m")  # \033[32m 表示绿色文字




# 定义变量存储个人信息1

name = "小明"          # 字符串类型
age = 20               # 整数类型
height = 1.75          # 浮点数类型
is_student = True      # 布尔类型
hobbies = ["编程", "游戏", "阅读"]  # 列表类型

# 使用f-string格式化输出（Python 3.6+推荐）
print(f"""
====== 自我介绍 ======
姓名：{name}
年龄：{age}岁
身高：{height}米
学生身份：{'是' if is_student else '否'}
爱好：{', '.join(hobbies)}
====================
""")

import math  # 导入数学库获取精确的π值

# 获取用户输入半径（注意转换为浮点数）
radius = float(input("请输入圆的半径（单位：米）："))

# 计算面积（公式：πr²）
area = math.pi * (radius ** 2)

# 输出结果（保留2位小数）
print(f"半径为 {radius} 米的圆，面积是 {area:.2f} 平方米")  # :.2f表示保留两位小数



# 原始数据
str_num = "123"
float_num = 3.14
bool_val = True

# 类型转换演示
int_from_str = int(str_num)      # 字符串 → 整数
str_from_float = str(float_num)  # 浮点数 → 字符串
int_from_bool = int(bool_val)    # 布尔 → 整数（True=1, False=0）
float_from_str = float("2.718")  # 字符串 → 浮点数

# 打印转换结果及类型
print(f"""
原始数据：
  str_num = {str_num} (类型: {type(str_num)})
  float_num = {float_num} (类型: {type(float_num)})
  bool_val = {bool_val} (类型: {type(bool_val)})

转换结果：
  int('123') = {int_from_str} (类型: {type(int_from_str)})
  str(3.14) = '{str_from_float}' (类型: {type(str_from_float)})
  int(True) = {int_from_bool} (类型: {type(int_from_bool)})
  float('2.718') = {float_from_str} (类型: {type(float_from_str)})
""")